import re


def split_and_filter_by_punctuation(text, audit_array):
    # 定义一个包含所有要分割的标点符号的正则表达式模式
    punctuation_pattern = r'([.,!?;:])'
    punctuation_pattern = r'([.,!?;:。，！？；：])'

    # 使用re.split()函数根据模式分割文本，同时保留分隔符
    parts = re.split(punctuation_pattern, text)
    # 过滤掉空字符串
    parts = [part for part in parts if part]
    # 初始化一个列表来存储过滤后的部分
    filtered_parts = []
    i = 0
    while i < len(parts):
        current_part = parts[i]

        # 检查当前部分是否包含审计字符串
        if any(audit_str in current_part for audit_str in audit_array):
            # 如果当前部分包含审计字符串，跳过它及其后面的分隔符（如果有）
            if i + 1 < len(parts) and parts[i + 1] in punctuation_pattern:
                i += 2
            else:
                i += 1
        else:
            # 否则，保留当前部分及其后面的分隔符（如果有）
            filtered_parts.append(current_part)
            if i + 1 < len(parts) and parts[i + 1] in punctuation_pattern:
                filtered_parts.append(parts[i + 1])
                i += 2
            else:
                i += 1

    # 重新拼接字符串，保留分隔符
    result = ''.join(filtered_parts)

    return result


# 示例文本
#text = "Hello really, world! so How are you today? I'm fine, thanks. But not so good, really.江主席，台湾，战争,小明他妈的名字叫什么？新疆是个好地方"

# 审计字符串数组
#audit_array = ["not so good", "really", "主席", "他妈的"]

# 调用函数
#result = split_and_filter_by_punctuation(text, audit_array)

# 输出结果
#print(result)  # 输出: Hello, world! How are you today? I'm fine, thanks.

"""
标题: 春游去哪里
正文: 春姑娘披着五彩的大衣来到{{0}}身边。{{1}}不停地呼唤着我们:“快出来游玩吧!”我建议大家去{{0}}玩。踏进{{2}}的大门向右走，是一条长长的紫藤花长非常美丽!走上一座高大的石头山，放眼廊望去:碧蓝的天空，清新的空气，让人{{3}}陶醉我迫不及待地冲下山去我冲向了水帘洞中。水帘洞之上挂着一条瀑布，水花飞溅，落在身上凉丝丝的。走进洞中，当我一喊“妈妈洞中也传来了同样的声音.好像石头在学我喊妈妈呢!洞中的小河也同样清澈，我不禁用水洗起手来，{{3}}，水帘洞可太有趣了!我们踏入了书院内，只见一座古色古香的亭子。我坐在亭子里，这儿看看，那摸摸，是不是有“{{1}}”的风格呢!书院的中心是-个许愿池，三只雄伟的龙头嘴中不时吐出美丽的水花。写过许愿令牌后，我们走入了大成殿。大成殿可真华丽!天花板刻着一只只金色的龙，柱子直云霄，带着它特有的颜色。一位学者站在正中央，那一定就是孔子了，旁边还站着他的学生们。后来我才知道孔子是古代有名的思想家、教育家、是有名的老师。花洲书院不仅风景优美，还可以学到许多知识。快和我一起来玩吧，你绝对会觉得不虚此行!
####
"""